package com.higgins.lawapp.client.application.rpc;

import java.util.List;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.higgins.lawapp.client.application.dataModel.LawFirm;

@RemoteServiceRelativePath("lawFirmService")
public interface LawFirmService extends RemoteService {
	List<String> retrieveRegions() throws IllegalArgumentException;
	List<String> retrieveAreasOfLaw(String region) throws IllegalArgumentException;
	List<String> retrieveLawFirms(String region, String areaOfLaw) throws IllegalArgumentException;
	List<String> retrieveLawFirmDetails(String region, String areaOfLaw, String lawFirm) throws IllegalArgumentException;
	List<LawFirm> retrieveLawFirmDetails(String region, String areaOfLaw) throws IllegalArgumentException;
	String publish(String coveringLetter) throws IllegalArgumentException;
	List<String> retrieveCoveringLetters() throws IllegalArgumentException;
	Boolean updateLawFirmPublished(Long id, String coveringLetter, Boolean published) throws IllegalArgumentException;
}
